package cn.itsuorce.service;

import cn.itsuorce.domain.User;
import cn.itsuorce.domain.dto.UserDto;
import cn.itsuorce.query.UserQuery;
import cn.itsuorce.utils.AjaxResult;

public interface IUserService extends IBaseService<User,UserQuery> {

    /**
     * 验证手机号
     * @param type 1表示手机验证码注册 2表示验证码登录
     * @param phone
     * @return
     */
    AjaxResult validatePhone(Integer type, String phone);

    /**
     * 发送短信验证码
     * @param phone
     * @return
     */
    AjaxResult sendMobileCode(String phone);


    /**
     * 前台用户注册
     * @param phone
     * @return
     */
    AjaxResult checkPhoneNumber(String phone);

    /**
     * 提交
     * @param userDto
     * @return
     */
    AjaxResult phoneReg(UserDto userDto);

    /**
     * 用户登录
     * @param userDto
     * @return
     */
    AjaxResult accountLogin(UserDto userDto);

    /**
     * 微信扫码登录
     * @param code
     * @return
     */
    AjaxResult wechatLogin(String code);

    /**
     * 微信用户扫码登录后，绑定我们系统的用户（等同于注册）
     * @param userDto
     * @return
     */
    AjaxResult wechatUserBind(UserDto userDto);
}
